Memory devices are widely used in electronic devices, such as digital cameras and personal audio players, for storing digital data. Many different types of memory are available, each using a different fundamental technology, and the memory may be volatile or non-volatile memory. Resistive random-access memory (RRAM) is one example of a non-volatile memory.
Referring to FIGS. 1A and 1B, example waveforms are illustrated which may be utilized to alter the contents of resistive random-access memory. In particular, FIGS. 1A and 1B illustrate waveforms which may be utilized to implement write operations of one or more RRAM memory cells of a memory array. FIG. 1A illustrates a waveform 2 which may be used to perform a program (or set) write operation and FIG. 1B illustrates a waveform 4 which may be used to perform an erase (or reset) write operation, respectively.
A verification procedure is implemented in both waveforms 2,4 in the illustrated examples. More specifically, a program or erase pulse (i.e., 1V or −1V, respectively) may be applied to one or more memory cells, and thereafter, a verify pulse may be applied to determine whether the memory cells were correctly written to. If not, subsequent program (or erase) pulses may be applied with increased voltage magnitudes in attempts to correctly write to the memory cells. However, it has been observed that some memory cells may fail to correctly place when the example waveforms of FIGS. 1A and 1B are utilized.
At least some embodiments described below are directed towards methods and apparatus which provide successful placement of an increased number of memory cells during programming compared with some conventional memory programming arrangements.